Pulse-amplitude modulation (PAM) is a form of signal modulation where the message information is encoded in the amplitude of a series of signal pulses. For example, a two bit modulator (PAM-4) takes two bits at a time and maps the signal amplitude to one of four possible levels—e.g., (−3 volts, −1 volt, 1 volt, and 3 volts). Demodulation of an amplitude encoded signal is generally performed by detecting the amplitude level of the carrier at every symbol period. Pulse-amplitude modulation is typically utilized within Ethernet communication systems. For example, a 100BASE-T2 Ethernet medium typically utilizes PAM-5 modulation over two wire pairs, while a 1000BASE-T Ethernet medium utilizes PAM-5 modulation running over 4 wire pairs. In such communication systems, simple precoding (or pre-equalization) is sometimes applied at a transmitter to reduce inter-symbol interference (ISI).
In certain communication systems (for example 802.3an), PAM is combined with a more complex pre-equalization scheme denoted Tomlinson-Harashima Precoding (THP). When THP is implemented in a system, equalization that was previously done in the communication receiver can be shifted to the corresponding communication transmitter. This is done in such a way that the overall complexity of the system is reduced.
For example, FIG. 1 shows a communication system 100 including a channel with Z-domain response {H(z)Z−Δ} that is equalized by a filter in a receiver with response {(1/(H(z)}. The received waveform {R(z)} is equal to the transmit waveform {T(z)} delayed by the bulk delay of the channel (Δ)—i.e., {R(z)=T(z−Δ)}. A communication system 200 with THP that is equivalent to the communication system 100 is illustrated in FIG. 2. Note the channel is identical in both FIG. 1 and FIG. 2, however, in FIG. 2 the filtering operation is moved to the transmitter, and the complex filter in the receiver has been replaced by a modulo operation. The modulo operation is such that for any input x, the corresponding output y is given by the following equation:y(k)=x(k)−m(k)Ω  (eq. 1)Where Ω is a fixed sized value and {m(k)} is an integer that is chosen to ensure that the resultant {y(k)} lies within some range (−L, L]. Typically, Ω is chosen to be 2L. Here, m(k) denotes the number of modulo wraps at time k and Ω represents the magnitude of a single modulo wrap.
The transmitter shown in FIG. 2 is more complex than the transmitter of FIG. 1. In addition, the channel characteristic {H(z)} may not be known by the transmitter. In this case a fixed filter may be used, or a more complex training scheme may allow the determination of the ideal coefficients by the receiver and the communication of these coefficients back to the transmitter. Although THP is often desirable, THP does suffer from a number of disadvantages when compared to a classical system.
For example, as previously noted, the channel coefficients may not be known at the transmitter and need to be determined or selected in some way. Moreover, in almost all cases, the number of PAM levels at the output of the THP block is much higher than the number of PAM levels at the input. As an example, in an 802.3 communication scheme, the input to the THP block is PAM-16 and hence can be represented using four binary bits. The output of the THP, however, consists of 1024 levels and hence requires ten binary bits. This increase is due to the fact that representing the output shown in FIG. 2 requires representing the output of the filter, which output is a function of the filter coefficients. In this worst case, representing the output of the filter requires ten bits. This large increase in bits has implications for both the design of the digital-to-analog converter (DAC) and the echo/NEXT cancellation filters.
Another other core component in many communication systems is a cancellation system. In any communication system that permits both the transmission and reception of data on the same channel at the same time (e.g., a full duplex system), some of the transmit energy can transfer into the local receiver and cause interference. Depending on the nature of this impairment (or interference), such transmit energy may be denoted echo or Near-End Cross Talk (NEXT). FIG. 4, discussed in greater detail below, illustrates the sources of echo and NEXT in a four dimensional full-duplex communication system.
Since the data that causes both echo and NEXT is known (because the data is generated by the local transmitter), echo and NEXT can be substantially cancelled using echo and NEXT cancellation systems. In such cancellation systems one or more filters are implemented and fed with the same data that is generated by one or more corresponding local transmitters. Often, the exact nature of the echo or NEXT is initially unknown and these filters are adapted using standard algorithms such as Least Mean Square (LMS) adaptation. Adaptation is generally performed using blocks denoted Adaptation Engines (AEs) that alter the coefficients of the filter in such a way as to mimic the echo as much as possible. By subtracting the output of the cancellation filter(s) from the received signal, the echo/NEXT can be substantially removed.
In VLSI (very large scale of integration) implementations of echo and NEXT filters, a key parameter that determines power and area and speed is the number of bits required to represent the input data. Typically, the power and area metrics are linearly related to this parameter. Therefore, to optimize the design, it is desirable to keep the input data bit-widths into echo and NEXT filters as small as possible. The present invention addresses such a need.